import baseURL from '@/api/base'

export const commonMixin = {
  data () {
    return {
      // 控制编辑对话框
      editDialogVisible: false,
      // 编辑对话框的数据绑定
      editInfo: {},
      // 所有列表信息
      getListInfo: [],
      // 创建时表单填写的数据
      formInfo: {
        scores: {}
      }
    }
  },
  computed: {
    imgUploadUrl () {
      return baseURL + '/../upload'
    }
  },
  methods: {
    // 图片上传成功之后把返回的数据赋值
    handleIconSuccess (res) {
      this.$set(this.editInfo, 'icon', res.url)
    },
    handleImgSuccess (res) {
      // console.log(res)
      this.$set(this.formInfo, 'icon', res.url)
    },
    // // 点击编辑按钮触发的事件
    edit (pathName, id) {
      // console.log(id)
      this.editDialogVisible = !this.editDialogVisible
      this.getDetailInfo(pathName, id)
    },
    async add (pathName) {
      const res = await this.$api.add(pathName, this.formInfo)
      if (res.meta.status === 0) {
        this.$message.success(res.meta.msg)
      }
      this.$router.push(`/list/${pathName}`)
      // console.log(res)
    },
    async getList (pathName) {
      const res = await this.$api.getList(pathName)
      if (res.meta.status === 0) {
        return this.getListInfo = res.data
      }
      // console.log(this.getListInfo)
      console.log(res)
    },
    async getDetailInfo (pathName, id) {
      const res = await this.$api.getDetail(pathName, id)
      if (res.meta.status === 0) {
        this.editInfo = res.data
      }
      // console.log(res)
    },
    async updateInfo (pathName) {
      this.editDialogVisible = !this.editDialogVisible
      const res = await this.$api.update(pathName, this.editInfo._id, this.editInfo)
      if (res.meta.status === 0) {
        this.$message.success(res.meta.msg)
        // 更新成功后重新获取数据
        this.getList(pathName)
      }
      // console.log(res)
    },
    del (pathName, rowdata) {
      // console.log(rowdata)
      this.$confirm(`此操作将永久删除${rowdata.name}, 是否继续?`, '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async () => {
        const res = await this.$api.del(pathName, rowdata._id)
        // console.log(res)
        if (res.meta.status === 0) {
          this.$message(res.meta.msg)
        }
        // 删除成功后重新获取数据
        this.getList(pathName)
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        })
      })
    }
  },
}

// export const categoryMixin = {
//   data () {
//     return {
//       categoryList: []
//     }
//   },
//   created () {
//     this.getCategoryList()
//   },
//   methods: {
//     async getCategoryList () {
//       const res = await this.$api.getList(CATEGORY)
//       if (res.meta.status === 0) {
//         return this.categoryList = res.data
//       }
//       console.log(this.categoryList)
//       // console.log(res)
//     },
//   },
// }

// export const equipMixin = {
//   data () {
//     return {
//       equipList: []
//     }
//   },
//   created () {
//     this.getEquipList()
//   },
//   methods: {
//     async getEquipList () {
//       const res = await this.$api.getList(EQUIP)
//       if (res.meta.status === 0) {
//         return this.equipList = res.data
//       }
//       console.log(this.equipList)
//       // console.log(res)
//     },
//   },
// }

// export const heroMixin = {
//   data () {
//     return {
//       heroList: []
//     }
//   },
//   created () {
//     this.getHeroList()
//   },
//   methods: {
//     async getHeroList () {
//       const res = await this.$api.getList(HERO)
//       if (res.meta.status === 0) {
//         return this.heroList = res.data
//       }
//       // console.log(this.heroList)
//       // console.log(res)
//     },
//   },
// }

